/*******************************************************************************
 * Classe ReglesJeu : classe de création et de gestion du panneau des règles
 *                    du jeu
 ******************************************************************************/

package Panneaux;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import prjintwg.Fenetre;

/**
 *
 * @author W&G
 */
public class ReglesJeu extends JPanel{

    //Zone de texte contenant les règles du jeu
    private JTextArea txtRegles = new JTextArea("\tPlot\nLongtemps, l'homme a "
            + "pensé que les cratères sur la lune étaient dus à l'`écrasement "
            + "d'objets célestes \nsur sa surface. Ils avaient TORT ! La réalité"
            + " est que des combats entre des luniens microscopiques \ndotés "
            + "de pouvoirs explosifs font rage, laissant derrière eux "
            + "cratères et désolation. Sous l'oeil sévère de \nla lune lunaire,"
            + " les combattants se défoncent la gueule !\n\tLe jeu\nLe but du "
            + "jeu est tout simplement de détruire l'adversaire en résuisant "
            + "ses points de vie à 0. Pour cela,\nvous avez à votre disposition"
            + " plusieurs armes :\n-FireBall : arme de base, disponible en"
            + " quantité, afflige des dégats moyens, suit une trajectoire "
            + "courbe\n avant de s'écraser.\n-N Jumper : arme qui a la "
            + "particularité de pouvoir sauter indéfiniment, disponible en "
            + "faible quantité, \nafflige des dégats moyens. Appuyez sur espace"
            + " pour la faire sauter.\n-Bombe Sonore : arme à dégâts "
            + "variables qui nécessite l'utilisation du micro. Plus vous "
            + "criez, plus \nl'onde de choc est grande et plus les dégâts sont "
            + "importants. Appuyez sur le bouton Fire et vous \ndiposerez d'un "
            + "délai pour crier, la bombe est ensuite projetée. Attention à "
            + "l'envoyer loin de vous ! \nDisponible en quantité limitée.\n"
            + "-Bombe Fertile : arme pouvant exploser en plusieurs sous-"
            + "Bombes. Appuyez sur espace pendant \nqu'elle est en mouvement "
            + "pour la faire exploser. Quantitée limitée.\n-Boomerang : arme"
            + " pouvant revenir en arrière. Vous avez dépassé votre ennemi ? "
            + "Appuyez sur espace \npour la faire revenir en arriere. "
            + "Disponible en quantité limitée.\n-Bombe gravité : bombe qui "
            + "change la gravité de façon aléatoire dans la zone où elle "
            + "tombe. Une par joueur.\n-Bombe tornade : bombe qui change le "
            + "vent de façon aléatoire dans la zone où elle tombe. Une "
            + "par joueur.\n-Laser : arme qui suit une trajectoire linéaire "
            + "et qui traverse le décor. Disponible en grande quantité.\n"
            + "-Téléportation : vous donne la possibilité de vous déplacer sur"
            + " le terrain de façon limitée à chaque tour,\n vous pouvez à "
            + "tout moment vous arrêter et sélectionner une arme pour tirer."
            + "\n-Cri de guerre : cette option vous donne la possibilité de "
            + "revenir dans le combat en criant dans votre \nmicro. Plus vos "
            + "points de vie sont bas et votre cri fort, plus votre bonus de"
            + "dégâts sera élevé pour les \nprochains tours.");
    //Bouton renvoyant au menu précédent
    private JButton btnRetour = new JButton("Retour");
    private BufferedImage image;//image de fond
    //objet de gestion des evenements
    private BoutonPresse boutonPresse = new BoutonPresse();
    private Fenetre fenetre;//Fenetre du programme
    private int precedent = 0;//Ecran précédant

    /**
     * Définit l'écran précédent
     * @param precedent écran précédent
     */
    public void setPrecedent(int precedent){
    this.precedent = precedent;
    }
/**
 * Constructeur de ReglesJeu
 * @param fenetre fenetre du programme
 */
    public ReglesJeu(Fenetre fenetre){
      this.setLayout(null);
        try {
            image = ImageIO.read(new File("lune.jpg"));
        } catch (IOException ex) {
            System.out.println(ex.getMessage());
        }
      this.fenetre = fenetre;
      txtRegles.setBackground(Color.black);
      txtRegles.setForeground(Color.white);
      txtRegles.setBounds(450, 30, 600, 480);
      this.add(txtRegles);
      btnRetour.setForeground(Color.white);
      btnRetour.setBackground(Color.black);
      btnRetour.setBounds(900, 530, 120, 20);
      btnRetour.addActionListener(boutonPresse);
      this.add(btnRetour);
    }
        @Override
    public void paintComponent(Graphics g) {//Dessine le panneau
        g.drawImage(image, 0, 0, 1072, 603, null);
    }
    /**
     * Classe de gestion des evenements
     */
    class BoutonPresse implements ActionListener {

        public void actionPerformed(ActionEvent ae) {
            if (ae.getSource() == btnRetour) {
                if(precedent ==0){
                fenetre.afficherMenuPrincipal();
                }else if (precedent == 1){
                fenetre.afficherJeu();
                }
            }
        }
    }

}
